<?php 

namespace app\admin\controller;

use think\Controller;
use think\Request;

use think\Session;


class Admin extends Controller
{
    // 初始化
    public function _initialize(){

        // var_dump(Session::get('admin_user'));
        $_SESSION['admin_user'] = Session::get('admin_user');
        // 判断session是否存在
        if (empty($_SESSION['admin_user'])) {
            // 跳转到登录页
            $this->redirect('admin@index/login');
            exit;
        }

        // 权限过滤
        // $mname = CONTROLLER_NAME; // 获取控制器名
        // $aname = ACTION_NAME; // 获取方法名
        $request = Request::instance();
        $mname = $request->controller(); // 获取控制器名
        $aname = $request->action(); // 获取方法名
        // echo $mname .'/'. $aname; 

        $nodelist = Session::get('admin_user_nodelist'); //获取权限列表
        // var_dump($_SESSION['admin_user']['username']);
        // var_dump($nodelist); exit;
        // 让超级管理员admin拥有所有权限
        if ($_SESSION['admin_user']['username'] != 'admin') {
            // 验证操作权限
            if($mname !== 'Main'){
                if (empty($nodelist[$mname]) || !in_array($aname, $nodelist[$mname])) {
                    $this->error("抱歉! 没有权限操作!");
                    exit;
                }
            }
            
        }
    }

        //  访问不存在的方法
    public function _empty(Request $request)
    {
        return view('/error');
    }


}

